package com.px.base.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 设施设备_日常巡检 数据表对象 bs_device_patrol
 *
 * @author 品讯科技
 * @date 2024-08
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("bs_device_patrol")
public class DevicePatrol implements Serializable {

    private static final long serialVersionUID = 1L;


    /** id */
    @TableId(value = "id")
    private Long id;

    /** 设备ID */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @NotNull(message = "设备ID不能为空")
    private Long deviceId;

    /** 巡检状态（0.其他 1.正常 2.异常） */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @NotNull(message = "巡检状态（0.其他 1.正常 2.异常）不能为空")
    private Integer status;

    /** 巡检描述 */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @NotBlank(message = "巡检描述不能为空")
    private String content;

    /** 巡检时间 */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @NotNull(message = "巡检时间不能为空")
    private LocalDateTime patrolTime;

    /** 巡检人员（多个用逗号隔开） */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @NotBlank(message = "巡检人员（多个用逗号隔开）不能为空")
    private String patrolUsers;

    /** 创建者 */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /** 更新者 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /** 逻辑删除（0.未删除 1.已删除） */
    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private Integer deleted;

}
